package test1;

import test1.pojo.reflectDO.User;

import java.lang.reflect.Field;

public class ReflectionTest {
    public static void main(String[] args) throws Exception {
//        Class<User> userClass = User.class;
        Class<?> userClass = Class.forName("test1.pojo.reflectDO.User");
        //1、获取自己全部属性
//        Field[] declaredFields = userClass.getDeclaredFields();
//        for (Field field : declaredFields) {
//            System.out.println(field);
//        }
        // 2、获取父类的属性
//        Field[] declaredFields = userClass.getSuperclass().getDeclaredFields();
//        for (Field declaredField : declaredFields) {
//            System.out.println(declaredField);
//        }
        //3、获取公共属性
//        Field[] fields = userClass.getFields();
//        for (Field field : fields) {
//            System.out.println(field);
//        }
        //4.获取某个属性的值，并设置值
        Field name = userClass.getDeclaredField("name");
        name.setAccessible(true);
        name.set(null,"1234");
        System.out.println(name.get(null));


    }
}
